package com.pgybook.db.entity.domain;

import java.util.ArrayList;
import java.util.Date;
import java.util.List;

public class BookInstanceEx {
    protected String orderByClause;

    protected boolean distinct;

    protected List<Criteria> oredCriteria;

    public BookInstanceEx() {
        oredCriteria = new ArrayList<Criteria>();
    }

    public void setOrderByClause(String orderByClause) {
        this.orderByClause = orderByClause;
    }

    public String getOrderByClause() {
        return orderByClause;
    }

    public void setDistinct(boolean distinct) {
        this.distinct = distinct;
    }

    public boolean isDistinct() {
        return distinct;
    }

    public List<Criteria> getOredCriteria() {
        return oredCriteria;
    }

    public void or(Criteria criteria) {
        oredCriteria.add(criteria);
    }

    public Criteria or() {
        Criteria criteria = createCriteriaInternal();
        oredCriteria.add(criteria);
        return criteria;
    }

    public Criteria createCriteria() {
        Criteria criteria = createCriteriaInternal();
        if (oredCriteria.size() == 0) {
            oredCriteria.add(criteria);
        }
        return criteria;
    }

    protected Criteria createCriteriaInternal() {
        Criteria criteria = new Criteria();
        return criteria;
    }

    public void clear() {
        oredCriteria.clear();
        orderByClause = null;
        distinct = false;
    }

    protected abstract static class GeneratedCriteria {
        protected List<Criterion> criteria;

        protected GeneratedCriteria() {
            super();
            criteria = new ArrayList<Criterion>();
        }

        public boolean isValid() {
            return criteria.size() > 0;
        }

        public List<Criterion> getAllCriteria() {
            return criteria;
        }

        public List<Criterion> getCriteria() {
            return criteria;
        }

        protected void addCriterion(String condition) {
            if (condition == null) {
                throw new RuntimeException("Value for condition cannot be null");
            }
            criteria.add(new Criterion(condition));
        }

        protected void addCriterion(String condition, Object value, String property) {
            if (value == null) {
                throw new RuntimeException("Value for " + property + " cannot be null");
            }
            criteria.add(new Criterion(condition, value));
        }

        protected void addCriterion(String condition, Object value1, Object value2, String property) {
            if (value1 == null || value2 == null) {
                throw new RuntimeException("Between values for " + property + " cannot be null");
            }
            criteria.add(new Criterion(condition, value1, value2));
        }

        public Criteria andInstanceidIsNull() {
            addCriterion("INSTANCEID is null");
            return (Criteria) this;
        }

        public Criteria andInstanceidIsNotNull() {
            addCriterion("INSTANCEID is not null");
            return (Criteria) this;
        }

        public Criteria andInstanceidEqualTo(Long value) {
            addCriterion("INSTANCEID =", value, "instanceid");
            return (Criteria) this;
        }

        public Criteria andInstanceidNotEqualTo(Long value) {
            addCriterion("INSTANCEID <>", value, "instanceid");
            return (Criteria) this;
        }

        public Criteria andInstanceidGreaterThan(Long value) {
            addCriterion("INSTANCEID >", value, "instanceid");
            return (Criteria) this;
        }

        public Criteria andInstanceidGreaterThanOrEqualTo(Long value) {
            addCriterion("INSTANCEID >=", value, "instanceid");
            return (Criteria) this;
        }

        public Criteria andInstanceidLessThan(Long value) {
            addCriterion("INSTANCEID <", value, "instanceid");
            return (Criteria) this;
        }

        public Criteria andInstanceidLessThanOrEqualTo(Long value) {
            addCriterion("INSTANCEID <=", value, "instanceid");
            return (Criteria) this;
        }

        public Criteria andInstanceidIn(List<Long> values) {
            addCriterion("INSTANCEID in", values, "instanceid");
            return (Criteria) this;
        }

        public Criteria andInstanceidNotIn(List<Long> values) {
            addCriterion("INSTANCEID not in", values, "instanceid");
            return (Criteria) this;
        }

        public Criteria andInstanceidBetween(Long value1, Long value2) {
            addCriterion("INSTANCEID between", value1, value2, "instanceid");
            return (Criteria) this;
        }

        public Criteria andInstanceidNotBetween(Long value1, Long value2) {
            addCriterion("INSTANCEID not between", value1, value2, "instanceid");
            return (Criteria) this;
        }

        public Criteria andBookidIsNull() {
            addCriterion("BOOKID is null");
            return (Criteria) this;
        }

        public Criteria andBookidIsNotNull() {
            addCriterion("BOOKID is not null");
            return (Criteria) this;
        }

        public Criteria andBookidEqualTo(Long value) {
            addCriterion("BOOKID =", value, "bookid");
            return (Criteria) this;
        }

        public Criteria andBookidNotEqualTo(Long value) {
            addCriterion("BOOKID <>", value, "bookid");
            return (Criteria) this;
        }

        public Criteria andBookidGreaterThan(Long value) {
            addCriterion("BOOKID >", value, "bookid");
            return (Criteria) this;
        }

        public Criteria andBookidGreaterThanOrEqualTo(Long value) {
            addCriterion("BOOKID >=", value, "bookid");
            return (Criteria) this;
        }

        public Criteria andBookidLessThan(Long value) {
            addCriterion("BOOKID <", value, "bookid");
            return (Criteria) this;
        }

        public Criteria andBookidLessThanOrEqualTo(Long value) {
            addCriterion("BOOKID <=", value, "bookid");
            return (Criteria) this;
        }

        public Criteria andBookidIn(List<Long> values) {
            addCriterion("BOOKID in", values, "bookid");
            return (Criteria) this;
        }

        public Criteria andBookidNotIn(List<Long> values) {
            addCriterion("BOOKID not in", values, "bookid");
            return (Criteria) this;
        }

        public Criteria andBookidBetween(Long value1, Long value2) {
            addCriterion("BOOKID between", value1, value2, "bookid");
            return (Criteria) this;
        }

        public Criteria andBookidNotBetween(Long value1, Long value2) {
            addCriterion("BOOKID not between", value1, value2, "bookid");
            return (Criteria) this;
        }

        public Criteria andLibidIsNull() {
            addCriterion("LIBID is null");
            return (Criteria) this;
        }

        public Criteria andLibidIsNotNull() {
            addCriterion("LIBID is not null");
            return (Criteria) this;
        }

        public Criteria andLibidEqualTo(Integer value) {
            addCriterion("LIBID =", value, "libid");
            return (Criteria) this;
        }

        public Criteria andLibidNotEqualTo(Integer value) {
            addCriterion("LIBID <>", value, "libid");
            return (Criteria) this;
        }

        public Criteria andLibidGreaterThan(Integer value) {
            addCriterion("LIBID >", value, "libid");
            return (Criteria) this;
        }

        public Criteria andLibidGreaterThanOrEqualTo(Integer value) {
            addCriterion("LIBID >=", value, "libid");
            return (Criteria) this;
        }

        public Criteria andLibidLessThan(Integer value) {
            addCriterion("LIBID <", value, "libid");
            return (Criteria) this;
        }

        public Criteria andLibidLessThanOrEqualTo(Integer value) {
            addCriterion("LIBID <=", value, "libid");
            return (Criteria) this;
        }

        public Criteria andLibidIn(List<Integer> values) {
            addCriterion("LIBID in", values, "libid");
            return (Criteria) this;
        }

        public Criteria andLibidNotIn(List<Integer> values) {
            addCriterion("LIBID not in", values, "libid");
            return (Criteria) this;
        }

        public Criteria andLibidBetween(Integer value1, Integer value2) {
            addCriterion("LIBID between", value1, value2, "libid");
            return (Criteria) this;
        }

        public Criteria andLibidNotBetween(Integer value1, Integer value2) {
            addCriterion("LIBID not between", value1, value2, "libid");
            return (Criteria) this;
        }

        public Criteria andProvideridIsNull() {
            addCriterion("PROVIDERID is null");
            return (Criteria) this;
        }

        public Criteria andProvideridIsNotNull() {
            addCriterion("PROVIDERID is not null");
            return (Criteria) this;
        }

        public Criteria andProvideridEqualTo(Integer value) {
            addCriterion("PROVIDERID =", value, "providerid");
            return (Criteria) this;
        }

        public Criteria andProvideridNotEqualTo(Integer value) {
            addCriterion("PROVIDERID <>", value, "providerid");
            return (Criteria) this;
        }

        public Criteria andProvideridGreaterThan(Integer value) {
            addCriterion("PROVIDERID >", value, "providerid");
            return (Criteria) this;
        }

        public Criteria andProvideridGreaterThanOrEqualTo(Integer value) {
            addCriterion("PROVIDERID >=", value, "providerid");
            return (Criteria) this;
        }

        public Criteria andProvideridLessThan(Integer value) {
            addCriterion("PROVIDERID <", value, "providerid");
            return (Criteria) this;
        }

        public Criteria andProvideridLessThanOrEqualTo(Integer value) {
            addCriterion("PROVIDERID <=", value, "providerid");
            return (Criteria) this;
        }

        public Criteria andProvideridIn(List<Integer> values) {
            addCriterion("PROVIDERID in", values, "providerid");
            return (Criteria) this;
        }

        public Criteria andProvideridNotIn(List<Integer> values) {
            addCriterion("PROVIDERID not in", values, "providerid");
            return (Criteria) this;
        }

        public Criteria andProvideridBetween(Integer value1, Integer value2) {
            addCriterion("PROVIDERID between", value1, value2, "providerid");
            return (Criteria) this;
        }

        public Criteria andProvideridNotBetween(Integer value1, Integer value2) {
            addCriterion("PROVIDERID not between", value1, value2, "providerid");
            return (Criteria) this;
        }

        public Criteria andNameIsNull() {
            addCriterion("NAME is null");
            return (Criteria) this;
        }

        public Criteria andNameIsNotNull() {
            addCriterion("NAME is not null");
            return (Criteria) this;
        }

        public Criteria andNameEqualTo(String value) {
            addCriterion("NAME =", value, "name");
            return (Criteria) this;
        }

        public Criteria andNameNotEqualTo(String value) {
            addCriterion("NAME <>", value, "name");
            return (Criteria) this;
        }

        public Criteria andNameGreaterThan(String value) {
            addCriterion("NAME >", value, "name");
            return (Criteria) this;
        }

        public Criteria andNameGreaterThanOrEqualTo(String value) {
            addCriterion("NAME >=", value, "name");
            return (Criteria) this;
        }

        public Criteria andNameLessThan(String value) {
            addCriterion("NAME <", value, "name");
            return (Criteria) this;
        }

        public Criteria andNameLessThanOrEqualTo(String value) {
            addCriterion("NAME <=", value, "name");
            return (Criteria) this;
        }

        public Criteria andNameLike(String value) {
            addCriterion("NAME like", value, "name");
            return (Criteria) this;
        }

        public Criteria andNameNotLike(String value) {
            addCriterion("NAME not like", value, "name");
            return (Criteria) this;
        }

        public Criteria andNameIn(List<String> values) {
            addCriterion("NAME in", values, "name");
            return (Criteria) this;
        }

        public Criteria andNameNotIn(List<String> values) {
            addCriterion("NAME not in", values, "name");
            return (Criteria) this;
        }

        public Criteria andNameBetween(String value1, String value2) {
            addCriterion("NAME between", value1, value2, "name");
            return (Criteria) this;
        }

        public Criteria andNameNotBetween(String value1, String value2) {
            addCriterion("NAME not between", value1, value2, "name");
            return (Criteria) this;
        }

        public Criteria andIsbnIsNull() {
            addCriterion("ISBN is null");
            return (Criteria) this;
        }

        public Criteria andIsbnIsNotNull() {
            addCriterion("ISBN is not null");
            return (Criteria) this;
        }

        public Criteria andIsbnEqualTo(String value) {
            addCriterion("ISBN =", value, "isbn");
            return (Criteria) this;
        }

        public Criteria andIsbnNotEqualTo(String value) {
            addCriterion("ISBN <>", value, "isbn");
            return (Criteria) this;
        }

        public Criteria andIsbnGreaterThan(String value) {
            addCriterion("ISBN >", value, "isbn");
            return (Criteria) this;
        }

        public Criteria andIsbnGreaterThanOrEqualTo(String value) {
            addCriterion("ISBN >=", value, "isbn");
            return (Criteria) this;
        }

        public Criteria andIsbnLessThan(String value) {
            addCriterion("ISBN <", value, "isbn");
            return (Criteria) this;
        }

        public Criteria andIsbnLessThanOrEqualTo(String value) {
            addCriterion("ISBN <=", value, "isbn");
            return (Criteria) this;
        }

        public Criteria andIsbnLike(String value) {
            addCriterion("ISBN like", value, "isbn");
            return (Criteria) this;
        }

        public Criteria andIsbnNotLike(String value) {
            addCriterion("ISBN not like", value, "isbn");
            return (Criteria) this;
        }

        public Criteria andIsbnIn(List<String> values) {
            addCriterion("ISBN in", values, "isbn");
            return (Criteria) this;
        }

        public Criteria andIsbnNotIn(List<String> values) {
            addCriterion("ISBN not in", values, "isbn");
            return (Criteria) this;
        }

        public Criteria andIsbnBetween(String value1, String value2) {
            addCriterion("ISBN between", value1, value2, "isbn");
            return (Criteria) this;
        }

        public Criteria andIsbnNotBetween(String value1, String value2) {
            addCriterion("ISBN not between", value1, value2, "isbn");
            return (Criteria) this;
        }

        public Criteria andBooknoIsNull() {
            addCriterion("BOOKNO is null");
            return (Criteria) this;
        }

        public Criteria andBooknoIsNotNull() {
            addCriterion("BOOKNO is not null");
            return (Criteria) this;
        }

        public Criteria andBooknoEqualTo(String value) {
            addCriterion("BOOKNO =", value, "bookno");
            return (Criteria) this;
        }

        public Criteria andBooknoNotEqualTo(String value) {
            addCriterion("BOOKNO <>", value, "bookno");
            return (Criteria) this;
        }

        public Criteria andBooknoGreaterThan(String value) {
            addCriterion("BOOKNO >", value, "bookno");
            return (Criteria) this;
        }

        public Criteria andBooknoGreaterThanOrEqualTo(String value) {
            addCriterion("BOOKNO >=", value, "bookno");
            return (Criteria) this;
        }

        public Criteria andBooknoLessThan(String value) {
            addCriterion("BOOKNO <", value, "bookno");
            return (Criteria) this;
        }

        public Criteria andBooknoLessThanOrEqualTo(String value) {
            addCriterion("BOOKNO <=", value, "bookno");
            return (Criteria) this;
        }

        public Criteria andBooknoLike(String value) {
            addCriterion("BOOKNO like", value, "bookno");
            return (Criteria) this;
        }

        public Criteria andBooknoNotLike(String value) {
            addCriterion("BOOKNO not like", value, "bookno");
            return (Criteria) this;
        }

        public Criteria andBooknoIn(List<String> values) {
            addCriterion("BOOKNO in", values, "bookno");
            return (Criteria) this;
        }

        public Criteria andBooknoNotIn(List<String> values) {
            addCriterion("BOOKNO not in", values, "bookno");
            return (Criteria) this;
        }

        public Criteria andBooknoBetween(String value1, String value2) {
            addCriterion("BOOKNO between", value1, value2, "bookno");
            return (Criteria) this;
        }

        public Criteria andBooknoNotBetween(String value1, String value2) {
            addCriterion("BOOKNO not between", value1, value2, "bookno");
            return (Criteria) this;
        }

        public Criteria andPositioncodeIsNull() {
            addCriterion("POSITIONCODE is null");
            return (Criteria) this;
        }

        public Criteria andPositioncodeIsNotNull() {
            addCriterion("POSITIONCODE is not null");
            return (Criteria) this;
        }

        public Criteria andPositioncodeEqualTo(String value) {
            addCriterion("POSITIONCODE =", value, "positioncode");
            return (Criteria) this;
        }

        public Criteria andPositioncodeNotEqualTo(String value) {
            addCriterion("POSITIONCODE <>", value, "positioncode");
            return (Criteria) this;
        }

        public Criteria andPositioncodeGreaterThan(String value) {
            addCriterion("POSITIONCODE >", value, "positioncode");
            return (Criteria) this;
        }

        public Criteria andPositioncodeGreaterThanOrEqualTo(String value) {
            addCriterion("POSITIONCODE >=", value, "positioncode");
            return (Criteria) this;
        }

        public Criteria andPositioncodeLessThan(String value) {
            addCriterion("POSITIONCODE <", value, "positioncode");
            return (Criteria) this;
        }

        public Criteria andPositioncodeLessThanOrEqualTo(String value) {
            addCriterion("POSITIONCODE <=", value, "positioncode");
            return (Criteria) this;
        }

        public Criteria andPositioncodeLike(String value) {
            addCriterion("POSITIONCODE like", value, "positioncode");
            return (Criteria) this;
        }

        public Criteria andPositioncodeNotLike(String value) {
            addCriterion("POSITIONCODE not like", value, "positioncode");
            return (Criteria) this;
        }

        public Criteria andPositioncodeIn(List<String> values) {
            addCriterion("POSITIONCODE in", values, "positioncode");
            return (Criteria) this;
        }

        public Criteria andPositioncodeNotIn(List<String> values) {
            addCriterion("POSITIONCODE not in", values, "positioncode");
            return (Criteria) this;
        }

        public Criteria andPositioncodeBetween(String value1, String value2) {
            addCriterion("POSITIONCODE between", value1, value2, "positioncode");
            return (Criteria) this;
        }

        public Criteria andPositioncodeNotBetween(String value1, String value2) {
            addCriterion("POSITIONCODE not between", value1, value2, "positioncode");
            return (Criteria) this;
        }

        public Criteria andStatusIsNull() {
            addCriterion("STATUS is null");
            return (Criteria) this;
        }

        public Criteria andStatusIsNotNull() {
            addCriterion("STATUS is not null");
            return (Criteria) this;
        }

        public Criteria andStatusEqualTo(Integer value) {
            addCriterion("STATUS =", value, "status");
            return (Criteria) this;
        }

        public Criteria andStatusNotEqualTo(Integer value) {
            addCriterion("STATUS <>", value, "status");
            return (Criteria) this;
        }

        public Criteria andStatusGreaterThan(Integer value) {
            addCriterion("STATUS >", value, "status");
            return (Criteria) this;
        }

        public Criteria andStatusGreaterThanOrEqualTo(Integer value) {
            addCriterion("STATUS >=", value, "status");
            return (Criteria) this;
        }

        public Criteria andStatusLessThan(Integer value) {
            addCriterion("STATUS <", value, "status");
            return (Criteria) this;
        }

        public Criteria andStatusLessThanOrEqualTo(Integer value) {
            addCriterion("STATUS <=", value, "status");
            return (Criteria) this;
        }

        public Criteria andStatusIn(List<Integer> values) {
            addCriterion("STATUS in", values, "status");
            return (Criteria) this;
        }

        public Criteria andStatusNotIn(List<Integer> values) {
            addCriterion("STATUS not in", values, "status");
            return (Criteria) this;
        }

        public Criteria andStatusBetween(Integer value1, Integer value2) {
            addCriterion("STATUS between", value1, value2, "status");
            return (Criteria) this;
        }

        public Criteria andStatusNotBetween(Integer value1, Integer value2) {
            addCriterion("STATUS not between", value1, value2, "status");
            return (Criteria) this;
        }

        public Criteria andStopflagIsNull() {
            addCriterion("STOPFLAG is null");
            return (Criteria) this;
        }

        public Criteria andStopflagIsNotNull() {
            addCriterion("STOPFLAG is not null");
            return (Criteria) this;
        }

        public Criteria andStopflagEqualTo(Boolean value) {
            addCriterion("STOPFLAG =", value, "stopflag");
            return (Criteria) this;
        }

        public Criteria andStopflagNotEqualTo(Boolean value) {
            addCriterion("STOPFLAG <>", value, "stopflag");
            return (Criteria) this;
        }

        public Criteria andStopflagGreaterThan(Boolean value) {
            addCriterion("STOPFLAG >", value, "stopflag");
            return (Criteria) this;
        }

        public Criteria andStopflagGreaterThanOrEqualTo(Boolean value) {
            addCriterion("STOPFLAG >=", value, "stopflag");
            return (Criteria) this;
        }

        public Criteria andStopflagLessThan(Boolean value) {
            addCriterion("STOPFLAG <", value, "stopflag");
            return (Criteria) this;
        }

        public Criteria andStopflagLessThanOrEqualTo(Boolean value) {
            addCriterion("STOPFLAG <=", value, "stopflag");
            return (Criteria) this;
        }

        public Criteria andStopflagIn(List<Boolean> values) {
            addCriterion("STOPFLAG in", values, "stopflag");
            return (Criteria) this;
        }

        public Criteria andStopflagNotIn(List<Boolean> values) {
            addCriterion("STOPFLAG not in", values, "stopflag");
            return (Criteria) this;
        }

        public Criteria andStopflagBetween(Boolean value1, Boolean value2) {
            addCriterion("STOPFLAG between", value1, value2, "stopflag");
            return (Criteria) this;
        }

        public Criteria andStopflagNotBetween(Boolean value1, Boolean value2) {
            addCriterion("STOPFLAG not between", value1, value2, "stopflag");
            return (Criteria) this;
        }

        public Criteria andPreorderflagIsNull() {
            addCriterion("PREORDERFLAG is null");
            return (Criteria) this;
        }

        public Criteria andPreorderflagIsNotNull() {
            addCriterion("PREORDERFLAG is not null");
            return (Criteria) this;
        }

        public Criteria andPreorderflagEqualTo(Boolean value) {
            addCriterion("PREORDERFLAG =", value, "preorderflag");
            return (Criteria) this;
        }

        public Criteria andPreorderflagNotEqualTo(Boolean value) {
            addCriterion("PREORDERFLAG <>", value, "preorderflag");
            return (Criteria) this;
        }

        public Criteria andPreorderflagGreaterThan(Boolean value) {
            addCriterion("PREORDERFLAG >", value, "preorderflag");
            return (Criteria) this;
        }

        public Criteria andPreorderflagGreaterThanOrEqualTo(Boolean value) {
            addCriterion("PREORDERFLAG >=", value, "preorderflag");
            return (Criteria) this;
        }

        public Criteria andPreorderflagLessThan(Boolean value) {
            addCriterion("PREORDERFLAG <", value, "preorderflag");
            return (Criteria) this;
        }

        public Criteria andPreorderflagLessThanOrEqualTo(Boolean value) {
            addCriterion("PREORDERFLAG <=", value, "preorderflag");
            return (Criteria) this;
        }

        public Criteria andPreorderflagIn(List<Boolean> values) {
            addCriterion("PREORDERFLAG in", values, "preorderflag");
            return (Criteria) this;
        }

        public Criteria andPreorderflagNotIn(List<Boolean> values) {
            addCriterion("PREORDERFLAG not in", values, "preorderflag");
            return (Criteria) this;
        }

        public Criteria andPreorderflagBetween(Boolean value1, Boolean value2) {
            addCriterion("PREORDERFLAG between", value1, value2, "preorderflag");
            return (Criteria) this;
        }

        public Criteria andPreorderflagNotBetween(Boolean value1, Boolean value2) {
            addCriterion("PREORDERFLAG not between", value1, value2, "preorderflag");
            return (Criteria) this;
        }

        public Criteria andPreorderuserIsNull() {
            addCriterion("PREORDERUSER is null");
            return (Criteria) this;
        }

        public Criteria andPreorderuserIsNotNull() {
            addCriterion("PREORDERUSER is not null");
            return (Criteria) this;
        }

        public Criteria andPreorderuserEqualTo(Integer value) {
            addCriterion("PREORDERUSER =", value, "preorderuser");
            return (Criteria) this;
        }

        public Criteria andPreorderuserNotEqualTo(Integer value) {
            addCriterion("PREORDERUSER <>", value, "preorderuser");
            return (Criteria) this;
        }

        public Criteria andPreorderuserGreaterThan(Integer value) {
            addCriterion("PREORDERUSER >", value, "preorderuser");
            return (Criteria) this;
        }

        public Criteria andPreorderuserGreaterThanOrEqualTo(Integer value) {
            addCriterion("PREORDERUSER >=", value, "preorderuser");
            return (Criteria) this;
        }

        public Criteria andPreorderuserLessThan(Integer value) {
            addCriterion("PREORDERUSER <", value, "preorderuser");
            return (Criteria) this;
        }

        public Criteria andPreorderuserLessThanOrEqualTo(Integer value) {
            addCriterion("PREORDERUSER <=", value, "preorderuser");
            return (Criteria) this;
        }

        public Criteria andPreorderuserIn(List<Integer> values) {
            addCriterion("PREORDERUSER in", values, "preorderuser");
            return (Criteria) this;
        }

        public Criteria andPreorderuserNotIn(List<Integer> values) {
            addCriterion("PREORDERUSER not in", values, "preorderuser");
            return (Criteria) this;
        }

        public Criteria andPreorderuserBetween(Integer value1, Integer value2) {
            addCriterion("PREORDERUSER between", value1, value2, "preorderuser");
            return (Criteria) this;
        }

        public Criteria andPreorderuserNotBetween(Integer value1, Integer value2) {
            addCriterion("PREORDERUSER not between", value1, value2, "preorderuser");
            return (Criteria) this;
        }

        public Criteria andPreordertimeIsNull() {
            addCriterion("PREORDERTIME is null");
            return (Criteria) this;
        }

        public Criteria andPreordertimeIsNotNull() {
            addCriterion("PREORDERTIME is not null");
            return (Criteria) this;
        }

        public Criteria andPreordertimeEqualTo(Date value) {
            addCriterion("PREORDERTIME =", value, "preordertime");
            return (Criteria) this;
        }

        public Criteria andPreordertimeNotEqualTo(Date value) {
            addCriterion("PREORDERTIME <>", value, "preordertime");
            return (Criteria) this;
        }

        public Criteria andPreordertimeGreaterThan(Date value) {
            addCriterion("PREORDERTIME >", value, "preordertime");
            return (Criteria) this;
        }

        public Criteria andPreordertimeGreaterThanOrEqualTo(Date value) {
            addCriterion("PREORDERTIME >=", value, "preordertime");
            return (Criteria) this;
        }

        public Criteria andPreordertimeLessThan(Date value) {
            addCriterion("PREORDERTIME <", value, "preordertime");
            return (Criteria) this;
        }

        public Criteria andPreordertimeLessThanOrEqualTo(Date value) {
            addCriterion("PREORDERTIME <=", value, "preordertime");
            return (Criteria) this;
        }

        public Criteria andPreordertimeIn(List<Date> values) {
            addCriterion("PREORDERTIME in", values, "preordertime");
            return (Criteria) this;
        }

        public Criteria andPreordertimeNotIn(List<Date> values) {
            addCriterion("PREORDERTIME not in", values, "preordertime");
            return (Criteria) this;
        }

        public Criteria andPreordertimeBetween(Date value1, Date value2) {
            addCriterion("PREORDERTIME between", value1, value2, "preordertime");
            return (Criteria) this;
        }

        public Criteria andPreordertimeNotBetween(Date value1, Date value2) {
            addCriterion("PREORDERTIME not between", value1, value2, "preordertime");
            return (Criteria) this;
        }

        public Criteria andCrttimeIsNull() {
            addCriterion("CRTTIME is null");
            return (Criteria) this;
        }

        public Criteria andCrttimeIsNotNull() {
            addCriterion("CRTTIME is not null");
            return (Criteria) this;
        }

        public Criteria andCrttimeEqualTo(Date value) {
            addCriterion("CRTTIME =", value, "crttime");
            return (Criteria) this;
        }

        public Criteria andCrttimeNotEqualTo(Date value) {
            addCriterion("CRTTIME <>", value, "crttime");
            return (Criteria) this;
        }

        public Criteria andCrttimeGreaterThan(Date value) {
            addCriterion("CRTTIME >", value, "crttime");
            return (Criteria) this;
        }

        public Criteria andCrttimeGreaterThanOrEqualTo(Date value) {
            addCriterion("CRTTIME >=", value, "crttime");
            return (Criteria) this;
        }

        public Criteria andCrttimeLessThan(Date value) {
            addCriterion("CRTTIME <", value, "crttime");
            return (Criteria) this;
        }

        public Criteria andCrttimeLessThanOrEqualTo(Date value) {
            addCriterion("CRTTIME <=", value, "crttime");
            return (Criteria) this;
        }

        public Criteria andCrttimeIn(List<Date> values) {
            addCriterion("CRTTIME in", values, "crttime");
            return (Criteria) this;
        }

        public Criteria andCrttimeNotIn(List<Date> values) {
            addCriterion("CRTTIME not in", values, "crttime");
            return (Criteria) this;
        }

        public Criteria andCrttimeBetween(Date value1, Date value2) {
            addCriterion("CRTTIME between", value1, value2, "crttime");
            return (Criteria) this;
        }

        public Criteria andCrttimeNotBetween(Date value1, Date value2) {
            addCriterion("CRTTIME not between", value1, value2, "crttime");
            return (Criteria) this;
        }

        public Criteria andUpdtimeIsNull() {
            addCriterion("UPDTIME is null");
            return (Criteria) this;
        }

        public Criteria andUpdtimeIsNotNull() {
            addCriterion("UPDTIME is not null");
            return (Criteria) this;
        }

        public Criteria andUpdtimeEqualTo(Date value) {
            addCriterion("UPDTIME =", value, "updtime");
            return (Criteria) this;
        }

        public Criteria andUpdtimeNotEqualTo(Date value) {
            addCriterion("UPDTIME <>", value, "updtime");
            return (Criteria) this;
        }

        public Criteria andUpdtimeGreaterThan(Date value) {
            addCriterion("UPDTIME >", value, "updtime");
            return (Criteria) this;
        }

        public Criteria andUpdtimeGreaterThanOrEqualTo(Date value) {
            addCriterion("UPDTIME >=", value, "updtime");
            return (Criteria) this;
        }

        public Criteria andUpdtimeLessThan(Date value) {
            addCriterion("UPDTIME <", value, "updtime");
            return (Criteria) this;
        }

        public Criteria andUpdtimeLessThanOrEqualTo(Date value) {
            addCriterion("UPDTIME <=", value, "updtime");
            return (Criteria) this;
        }

        public Criteria andUpdtimeIn(List<Date> values) {
            addCriterion("UPDTIME in", values, "updtime");
            return (Criteria) this;
        }

        public Criteria andUpdtimeNotIn(List<Date> values) {
            addCriterion("UPDTIME not in", values, "updtime");
            return (Criteria) this;
        }

        public Criteria andUpdtimeBetween(Date value1, Date value2) {
            addCriterion("UPDTIME between", value1, value2, "updtime");
            return (Criteria) this;
        }

        public Criteria andUpdtimeNotBetween(Date value1, Date value2) {
            addCriterion("UPDTIME not between", value1, value2, "updtime");
            return (Criteria) this;
        }

        public Criteria andLatestorderIsNull() {
            addCriterion("LATESTORDER is null");
            return (Criteria) this;
        }

        public Criteria andLatestorderIsNotNull() {
            addCriterion("LATESTORDER is not null");
            return (Criteria) this;
        }

        public Criteria andLatestorderEqualTo(Long value) {
            addCriterion("LATESTORDER =", value, "latestorder");
            return (Criteria) this;
        }

        public Criteria andLatestorderNotEqualTo(Long value) {
            addCriterion("LATESTORDER <>", value, "latestorder");
            return (Criteria) this;
        }

        public Criteria andLatestorderGreaterThan(Long value) {
            addCriterion("LATESTORDER >", value, "latestorder");
            return (Criteria) this;
        }

        public Criteria andLatestorderGreaterThanOrEqualTo(Long value) {
            addCriterion("LATESTORDER >=", value, "latestorder");
            return (Criteria) this;
        }

        public Criteria andLatestorderLessThan(Long value) {
            addCriterion("LATESTORDER <", value, "latestorder");
            return (Criteria) this;
        }

        public Criteria andLatestorderLessThanOrEqualTo(Long value) {
            addCriterion("LATESTORDER <=", value, "latestorder");
            return (Criteria) this;
        }

        public Criteria andLatestorderIn(List<Long> values) {
            addCriterion("LATESTORDER in", values, "latestorder");
            return (Criteria) this;
        }

        public Criteria andLatestorderNotIn(List<Long> values) {
            addCriterion("LATESTORDER not in", values, "latestorder");
            return (Criteria) this;
        }

        public Criteria andLatestorderBetween(Long value1, Long value2) {
            addCriterion("LATESTORDER between", value1, value2, "latestorder");
            return (Criteria) this;
        }

        public Criteria andLatestorderNotBetween(Long value1, Long value2) {
            addCriterion("LATESTORDER not between", value1, value2, "latestorder");
            return (Criteria) this;
        }

        public Criteria andCrtstaffIsNull() {
            addCriterion("CRTSTAFF is null");
            return (Criteria) this;
        }

        public Criteria andCrtstaffIsNotNull() {
            addCriterion("CRTSTAFF is not null");
            return (Criteria) this;
        }

        public Criteria andCrtstaffEqualTo(Integer value) {
            addCriterion("CRTSTAFF =", value, "crtstaff");
            return (Criteria) this;
        }

        public Criteria andCrtstaffNotEqualTo(Integer value) {
            addCriterion("CRTSTAFF <>", value, "crtstaff");
            return (Criteria) this;
        }

        public Criteria andCrtstaffGreaterThan(Integer value) {
            addCriterion("CRTSTAFF >", value, "crtstaff");
            return (Criteria) this;
        }

        public Criteria andCrtstaffGreaterThanOrEqualTo(Integer value) {
            addCriterion("CRTSTAFF >=", value, "crtstaff");
            return (Criteria) this;
        }

        public Criteria andCrtstaffLessThan(Integer value) {
            addCriterion("CRTSTAFF <", value, "crtstaff");
            return (Criteria) this;
        }

        public Criteria andCrtstaffLessThanOrEqualTo(Integer value) {
            addCriterion("CRTSTAFF <=", value, "crtstaff");
            return (Criteria) this;
        }

        public Criteria andCrtstaffIn(List<Integer> values) {
            addCriterion("CRTSTAFF in", values, "crtstaff");
            return (Criteria) this;
        }

        public Criteria andCrtstaffNotIn(List<Integer> values) {
            addCriterion("CRTSTAFF not in", values, "crtstaff");
            return (Criteria) this;
        }

        public Criteria andCrtstaffBetween(Integer value1, Integer value2) {
            addCriterion("CRTSTAFF between", value1, value2, "crtstaff");
            return (Criteria) this;
        }

        public Criteria andCrtstaffNotBetween(Integer value1, Integer value2) {
            addCriterion("CRTSTAFF not between", value1, value2, "crtstaff");
            return (Criteria) this;
        }

        public Criteria andUpdstaffIsNull() {
            addCriterion("UPDSTAFF is null");
            return (Criteria) this;
        }

        public Criteria andUpdstaffIsNotNull() {
            addCriterion("UPDSTAFF is not null");
            return (Criteria) this;
        }

        public Criteria andUpdstaffEqualTo(Integer value) {
            addCriterion("UPDSTAFF =", value, "updstaff");
            return (Criteria) this;
        }

        public Criteria andUpdstaffNotEqualTo(Integer value) {
            addCriterion("UPDSTAFF <>", value, "updstaff");
            return (Criteria) this;
        }

        public Criteria andUpdstaffGreaterThan(Integer value) {
            addCriterion("UPDSTAFF >", value, "updstaff");
            return (Criteria) this;
        }

        public Criteria andUpdstaffGreaterThanOrEqualTo(Integer value) {
            addCriterion("UPDSTAFF >=", value, "updstaff");
            return (Criteria) this;
        }

        public Criteria andUpdstaffLessThan(Integer value) {
            addCriterion("UPDSTAFF <", value, "updstaff");
            return (Criteria) this;
        }

        public Criteria andUpdstaffLessThanOrEqualTo(Integer value) {
            addCriterion("UPDSTAFF <=", value, "updstaff");
            return (Criteria) this;
        }

        public Criteria andUpdstaffIn(List<Integer> values) {
            addCriterion("UPDSTAFF in", values, "updstaff");
            return (Criteria) this;
        }

        public Criteria andUpdstaffNotIn(List<Integer> values) {
            addCriterion("UPDSTAFF not in", values, "updstaff");
            return (Criteria) this;
        }

        public Criteria andUpdstaffBetween(Integer value1, Integer value2) {
            addCriterion("UPDSTAFF between", value1, value2, "updstaff");
            return (Criteria) this;
        }

        public Criteria andUpdstaffNotBetween(Integer value1, Integer value2) {
            addCriterion("UPDSTAFF not between", value1, value2, "updstaff");
            return (Criteria) this;
        }
    }

    public static class Criteria extends GeneratedCriteria {

        protected Criteria() {
            super();
        }
    }

    public static class Criterion {
        private String condition;

        private Object value;

        private Object secondValue;

        private boolean noValue;

        private boolean singleValue;

        private boolean betweenValue;

        private boolean listValue;

        private String typeHandler;

        public String getCondition() {
            return condition;
        }

        public Object getValue() {
            return value;
        }

        public Object getSecondValue() {
            return secondValue;
        }

        public boolean isNoValue() {
            return noValue;
        }

        public boolean isSingleValue() {
            return singleValue;
        }

        public boolean isBetweenValue() {
            return betweenValue;
        }

        public boolean isListValue() {
            return listValue;
        }

        public String getTypeHandler() {
            return typeHandler;
        }

        protected Criterion(String condition) {
            super();
            this.condition = condition;
            this.typeHandler = null;
            this.noValue = true;
        }

        protected Criterion(String condition, Object value, String typeHandler) {
            super();
            this.condition = condition;
            this.value = value;
            this.typeHandler = typeHandler;
            if (value instanceof List<?>) {
                this.listValue = true;
            } else {
                this.singleValue = true;
            }
        }

        protected Criterion(String condition, Object value) {
            this(condition, value, null);
        }

        protected Criterion(String condition, Object value, Object secondValue, String typeHandler) {
            super();
            this.condition = condition;
            this.value = value;
            this.secondValue = secondValue;
            this.typeHandler = typeHandler;
            this.betweenValue = true;
        }

        protected Criterion(String condition, Object value, Object secondValue) {
            this(condition, value, secondValue, null);
        }
    }
}